package com.work.app.bean;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;

import java.util.Date;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import lombok.Data;

/**
 * 藏品信息
 * @Date 2024-05-15 21:09:05
 * @author hjj
 */
@Data
@TableName("collection")
@ApiModel(value="Collection对象", description="藏品信息")
public class Collection implements Serializable {

    @NotBlank(message="[藏品唯一编号]不能为空")
    @Size(max= 72,message="编码长度不能超过72")
    @ApiModelProperty("藏品唯一编号")
    private String identifier;

    @NotBlank(message="[链上哈希值]不能为空")
    @Size(max= 64,message="编码长度不能超过64")
    @ApiModelProperty("链上哈希值")
    private String hash;

    @NotBlank(message="[藏品名称]不能为空")
    @Size(max= 128,message="编码长度不能超过128")
    @ApiModelProperty("藏品名称")
    private String name;

    @NotNull(message="[发行数量]不能为空")
    @ApiModelProperty("发行数量")
    private Integer allNum;

    @NotBlank(message="[原文件url]不能为空")
    @Size(max= 128,message="编码长度不能超过128")
    @ApiModelProperty("原文件url")
    private String fileUrl;

    @NotNull(message="[系列id]不能为空")
    @ApiModelProperty("系列id")
    private Integer seriesId;

    @ApiModelProperty("状态（1审核中，0已销毁，2发行中，3已绝版）")
    private Integer state;

    @NotNull(message="[价格]不能为空")
    @ApiModelProperty("价格")
    private Double price;

    @Size(max= 128,message="编码长度不能超过128")
    @ApiModelProperty("证书url下载地址")
    private String certificateDownload;

    @ApiModelProperty("浏览量")
    private Integer viewNum;

    @ApiModelProperty("关注量")
    private Integer attentionNum;

    @ApiModelProperty("发行时间")
    private Date uploadTime;

    @Size(max= 512,message="编码长度不能超过512")
    @ApiModelProperty("简介")
    private String intro;

    @Size(max= 128,message="编码长度不能超过128")
    @ApiModelProperty("显示图片")
    private String imageUrl;

}
